# 高级函数用法
function(log)
    set(options WARNING)
    set(oneValueArgs "TEXT")
    set(multiValueArgs "")
    # 这东西就是把arguments组装在"LOG"这个符号之后。
    # 简单点来说，就是把一串无序的参数，转化为可以按名称进行索引的参数。
    cmake_parse_arguments(LOG
        "${options}"
        "${oneValueArgs}"
        "${multiValueArgs}"
        ${ARGN}
    )
    if (LOG_WARNING)
        message(WARNING ${LOG_TEXT})
    else()
        message(STATUS ${LOG_TEXT})
    endif()    
endfunction()